﻿using System;
using SharpSqlAnalyzer.nodes;

namespace SharpSqlAnalyzer.stmt.oracle
{
	// Token: 0x02000132 RID: 306
	public class TOracleCreateSynonymStmt : TCustomOracleSqlStmt
	{
		// Token: 0x060009E1 RID: 2529 RVA: 0x00303F89 File Offset: 0x00302189
		public TOracleCreateSynonymStmt(EDbVendor dbvendor) : base(dbvendor)
		{
			this.sqlstatementtype = ESqlStatementType.sstoraclecreatesynonym;
		}

		// Token: 0x170001C0 RID: 448
		// (get) Token: 0x060009E2 RID: 2530 RVA: 0x00303F9D File Offset: 0x0030219D
		public virtual TObjectName ForName
		{
			get
			{
				return this.forName;
			}
		}

		// Token: 0x170001C1 RID: 449
		// (get) Token: 0x060009E3 RID: 2531 RVA: 0x00303FA5 File Offset: 0x003021A5
		public virtual TObjectName SynonymName
		{
			get
			{
				return this.synonymName;
			}
		}

		// Token: 0x060009E4 RID: 2532 RVA: 0x00303FB0 File Offset: 0x003021B0
		public override int doParseStatement(TCustomSqlStatement psql)
		{
			if (this.rootNode == null)
			{
				return -1;
			}
			base.doParseStatement(psql);
			TCreateSynonymSqlNode tcreateSynonymSqlNode = (TCreateSynonymSqlNode)this.rootNode;
			this.synonymName = tcreateSynonymSqlNode.SynonymName;
			base.DatabaseObjects.Add(this.synonymName);
			this.forName = tcreateSynonymSqlNode.ForName;
			this.isPublic = tcreateSynonymSqlNode.Public;
			return 0;
		}

		// Token: 0x170001C2 RID: 450
		// (get) Token: 0x060009E5 RID: 2533 RVA: 0x00304011 File Offset: 0x00302211
		public virtual bool Public
		{
			get
			{
				return this.isPublic;
			}
		}

		// Token: 0x0400125F RID: 4703
		private TObjectName synonymName;

		// Token: 0x04001260 RID: 4704
		private TObjectName forName;

		// Token: 0x04001261 RID: 4705
		private bool isPublic;
	}
}
